using System;
using System.Collections.Generic;
using System.Text;
namespace Decision.BusinessLayer
{
	public class QueryMasTer_DECISIONCriteria
	{

		#region InnerClass
		public enum QueryMasTer_DECISIONCriteriaFields
		{
			MASTER_ID,
			PageNum,
			PageSize,
			SortName,
			SortDirection
		}
		#endregion

		#region Data Members

			int? _mASTER_ID;
			int? _pageNum;
			int? _pageSize;
			string _sortName;
			string _sortDirection;

		#endregion

		#region Properties

		public int?  MASTER_ID
		{
			 get { return _mASTER_ID; }
			 set
			 {
				 if (_mASTER_ID != value)
				 {
					_mASTER_ID = value;
					 PropertyHasChanged("MASTER_ID");
				 }
			 }
		}

		public int?  PageNum
		{
			 get { return _pageNum; }
			 set
			 {
				 if (_pageNum != value)
				 {
					_pageNum = value;
					 PropertyHasChanged("PageNum");
				 }
			 }
		}

		public int?  PageSize
		{
			 get { return _pageSize; }
			 set
			 {
				 if (_pageSize != value)
				 {
					_pageSize = value;
					 PropertyHasChanged("PageSize");
				 }
			 }
		}

		public string  SortName
		{
			 get { return _sortName; }
			 set
			 {
				 if (_sortName != value)
				 {
					_sortName = value;
					 PropertyHasChanged("SortName");
				 }
			 }
		}

		public string  SortDirection
		{
			 get { return _sortDirection; }
			 set
			 {
				 if (_sortDirection != value)
				 {
					_sortDirection = value;
					 PropertyHasChanged("SortDirection");
				 }
			 }
		}


		#endregion

		#region not support PropertyChangeEvent

		protected virtual void PropertyHasChanged(string propertyName)
		{
			return;
		}

		#endregion
/********** not support Validation
		#region Validation

		internal override void AddValidationRules()
		{
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("SortName", "SortName",150));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("SortDirection", "SortDirection",5));
		}

		#endregion
********/

	}
}
